Devo racchiudere tutte le istanze di% {...%} con ... A MENO CHE% {...} non appaia all'interno di un tag HTML. Ad esempio, questo: "Oppure% {register_text} per un nuovo account facendo clic qui ." deve diventare questo "Oppure % {register_text} per un nuovo account facendo clic qui ." la mia espressione regolare attuale non tiene conto della situazione dei tag HTML: x.gsub (/ [? !] / i) {| s | " # {s} "} quindi mi chiedo come farlo in Ruby con regex. Eventuali acquirenti?
2020-12-22 09:32:44
Non sono sicuro dello spazio di input, quindi questo è il meglio che posso trovare. Ho anche ripulito un po 'la regex lungo la strada. /% \ {[\ w -] + \} (?! [^ <>]>) / Per un HTML ben formato, corrisponderà solo ai token che sono al di fuori del tag. Se l'HTML non è corretto, non credo di essere all'altezza del compito di scrivere la regex. Presumo anche che non ci sia Javascript incorporato nella pagina, poiché> e